spectrum_mod Module



Interfaces

public interface Spectrum

  • public function spectrum_constructor(size) result(this)

    Arguments

    Type IntentOptional Attributes Name
    integer, value :: size

    Return Value type(Spectrum)


Derived Types

type, public ::  SpectrumPoint

Components

Type Visibility Attributes Name Initial
real(kind=wp), public :: Ntor

Ntau=-Ntor

real(kind=wp), public :: Npol

Ntet=Npol

real(kind=wp), public :: power

power

type, public ::  Spectrum

Components

Type Visibility Attributes Name Initial
integer, public :: size

size of spectrum

real(kind=wp), public :: input_power

power of spectrum

real(kind=wp), public :: power_ratio

доля входной мощности

real(kind=wp), public :: max_power
real(kind=wp), public :: sum_power

суммарная power

integer, public :: direction

направление спектра +1 или -1 или 0 - полный

type(SpectrumPoint), public, allocatable :: data(:)

Constructor

public function spectrum_constructor (size)

Type-Bound Procedures

procedure, public :: get_positive_part => get_positive_part_method
procedure, public :: get_negative_part => get_negative_part_method
procedure, public :: calc_max_power => calc_max_power_method
procedure, public :: normalization => normalization_method
procedure, public :: integral_trapez => integral_trapez_method
procedure, public :: write => write_spectrum

Functions

public function spectrum_constructor(size) result(this)

Arguments

Type IntentOptional Attributes Name
integer, value :: size

Return Value type(Spectrum)

public function integral_trapez_method(this) result(sum)

вычисление полной мощности спектра интегрирование методом трапеций

Arguments

Type IntentOptional Attributes Name
class(Spectrum), intent(in) :: this

Return Value real(kind=wp)

public function get_positive_part_method(this) result(spectr)

Arguments

Type IntentOptional Attributes Name
class(Spectrum), intent(in) :: this

Return Value type(Spectrum)

public function get_negative_part_method(this) result(spectr)

Arguments

Type IntentOptional Attributes Name
class(Spectrum), intent(in) :: this

Return Value type(Spectrum)

public function read_spectrum(file_name) result(spectr)

Arguments

Type IntentOptional Attributes Name
character(len=*), value :: file_name

Return Value type(Spectrum)

public function make_spline_approximation(spectr) result(appx_spectr)

approximation of input LH spectrum

Arguments

Type IntentOptional Attributes Name
type(Spectrum), intent(in) :: spectr

Return Value type(Spectrum)


Subroutines

public subroutine calc_max_power_method(this)

Arguments

Type IntentOptional Attributes Name
class(Spectrum), intent(inout) :: this

public subroutine normalization_method(this)

Arguments

Type IntentOptional Attributes Name
class(Spectrum), intent(inout) :: this

public subroutine write_spectrum(this, spectrum_name)

write spectrum to file

Arguments

Type IntentOptional Attributes Name
class(Spectrum), intent(inout) :: this
character(len=*), intent(in) :: spectrum_name

public subroutine divide_spectrum(spectr, pos_spectr, neg_spectr)

деление спектра на две части

Arguments

Type IntentOptional Attributes Name
type(Spectrum), intent(in) :: spectr
type(Spectrum), intent(out) :: pos_spectr
type(Spectrum), intent(out) :: neg_spectr